package remato.domain.common;

import java.util.Set;

import remato.common.domain.helpers.Nameable;

import com.wgo.bpot.domain.common.User;



public interface Stakeholder extends Nameable {
	public User getUser();
	public void setUser(User user);
	public String getFirstName();
	public void setFirstName(String firstName);

	public String getLastName();
	public void setLastName(String lastName);

	public Set<Requirement> getAssignedRequirements();
	/**
     * @return <tt>true</tt> if this collection changed as a result of the
     *         call
	 */
	public boolean removeAssignedRequirement(Requirement requirement);  //Added to avoid cast problem
    /**
     * @return <tt>true</tt> if this set did not already contain the specified
     *         element.
     */
	public boolean addAssignedRequirement(Requirement requirement);  //Added to avoid cast problem

	public Set<Requirement> getStakeholderToRequirements();
	/**
     * @return <tt>true</tt> if this collection changed as a result of the
     *         call
	 */
	public boolean removeStakeholderToRequirement(Requirement requirement);  //Added to avoid cast problem
    /**
     * @return <tt>true</tt> if this set did not already contain the specified
     *         element.
     */
	public boolean addStakeholderToRequirement(Requirement requirement);  //Added to avoid cast problem

	public Set<Requirement> getReporterOrOwnerToRequirements();
	/**
     * @return <tt>true</tt> if this collection changed as a result of the
     *         call
	 */
	public boolean removeReporterOrOwnerToRequirement(Requirement requirement);  //Added to avoid cast problem
    /**
     * @return <tt>true</tt> if this set did not already contain the specified
     *         element.
     */
	public boolean addReporterOrOwnerToRequirement(Requirement requirement);  //Added to avoid cast problem
}
